Apstraktni stroj, još zvan i apstraktno računalo, je teoretski model računalnog sklopovlja ili programske podrške korištene u teoriji automata. Apstrakcija računarskih procesa se koristi i u računarstvu i u računalnom inženjerstvu, i obično pretpostavlja paradigmu diskretnog vremena.
U teoriji računanja, apstraktni su strojevi često korišteni kao misaoni eksperimenti u vezi izračunljivosti ili analize složenosti algoritama (vidi računska teorija složenosti). Tipičan se apstraktni stroj sastoji od definicije u terminima ulaza, izlaza te skupa dozvoljenih operacija korištenih za pretvorbu prvog u drugo. Najpoznatiji je primjer Turingov stroj.
Složenije definicije kreiraju apstraktne strojeve s potpunim instrukcijskim skupovima, procesorskim registrima i modelima memorije. Jedan popularni model sličan stvarnim suvremenim strojevima je RAM model, koji dozvoljava slučajan pristup lokacijama u indeksiranoj memoriji. Kako raste razlika u performansama između različitih razina u priručnoj memoriji, postaju sve važniji i modeli osjetljivi na priručnu memoriju, poput modela osetljivog na priručnu memoriju te modela zaboravljive priručne memorije.
Apstraktni se stroj također može odnositi na dizajn mikroprocesora koji tek treba (ili kojeg se ne namjerava) biti sklopovski ostvaren. Apstraktni stroj ostvaren kao programska simulacija, ili za koji postoji interpreter, se zove virtualni stroj.
Uporabom je apstraktnih strojeva moguće izračunati kolika je količina resursa (vremena, memorije itd.) potrebna za obavljanje pojedine operacije bez konstrukcije konkretne implementacije za nju.